package cqrtplm.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.hustcad.plm.basic.util.TyplmEntityBaseUtil;
import com.ty.basic.service.snow.SnowflakeIdComponent;
import cqrtplm.dto.RTModuleDTO;
import cqrtplm.entity.ModuleDO;
import cqrtplm.mapper.RTModuleMapper;
import cqrtplm.service.RTModuleService;
import cqrtplm.vo.RTModuleVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

@Service
@Slf4j
public class RTModuleServiceImpl implements RTModuleService {
    @Resource
    private RTModuleMapper rtModuleMapper;
    @Resource
    private SnowflakeIdComponent snowflakeIdComponent;

    @Override
    public PageInfo<RTModuleVO> getPageList(RTModuleDTO dto) {
        List<RTModuleVO> list = rtModuleMapper.selectModuleListByCondition(dto);
        PageHelper.startPage(Integer.parseInt(dto.getPage()), Integer.parseInt(dto.getRow()));
        return new PageInfo<>(list);
    }

    @Override
    public void creatNewModule(RTModuleDTO dto) {
        ModuleDO moduleDO = new ModuleDO();
        BeanUtils.copyProperties(dto, moduleDO);
        moduleDO.setOid(snowflakeIdComponent.getInstance().nextId());
        TyplmEntityBaseUtil.fillCommonFieldForCreate(moduleDO);
        rtModuleMapper.insert(moduleDO);
    }


}

